#include <iostream>
using std::cout;
using std::endl;

int main()
{
    int a[5]={1,2,3,4,5};
    cout << &a << endl;
    cout << a << endl;
    cout << &a[0] << endl;
//偏移了整个数组的长度
    cout << &a + 1 << endl;
    cout << a + 1 << endl;
    cout << &a[0] + 1 << endl;

    //&a 、&a + 1的类型不是int*
    //而是 int (*)[]
    //int (*p)[5] = &arr 定义数组指针的语句
    int *ptr=(int *)(&a+1);//ptr指向a数组所有元素的后一位
    //ptr - 1指向了数组最后一个元素（只偏移一个int数据的大小）
    printf("%d,%d\n",*(a+1),*(ptr-1));
}
